   1 .
   2 .YAHTZEE
   3 .
  10 clear ;BC=218;FC=141;NT=0;gosub 900;B=1;T=0
  30 H=13mul B-9;gosub 700;gosub 300;gosub 400;gosub 500;B=B+1;gosub 90;if B>A B=1;T=T+1
  60 if T<13goto 30
  70 gosub 800;STOP
  90 if R<4for S=49to 88;MU=S;next S;return 
 100 return 
 300 R=1;NT=1;gosub 355;for D=0to 4;gosub 360;next D
 310 R=R+1;if R=4return 
 315 gosub 355;D=0
 316 if D<0D=0
 317 if D>4D=4
 318 CX=-39;CY=31-Dmul 16;print "left ",
 320 if JX(B)MU=85;@(D)=0;box -71,CY,14,14,2
 325 if TR(B)gosub 90;D=9;goto 335
 330 if JY(B)=0Q=1;goto 320
 332 if Q=0goto 320
 335 Q=0;CX=CX-6;print " ";D=D-JY(B);if D<8goto 316
 340 for D=0to 4;if @(D)=0gosub 360
 345 next D;goto 310
 355 NT=0;CX=-2;CY=-37;print "ROLL #",#2,R;NT=1;return 
 360 X=-55;Y=31-Dmul 16;Z=rnd (6);@(D)=Z;box X,Y,14,14,1;MU=70+Z;if Z#Zdiv 2mul 2box X,Y,2,2,2
 375 if Z=6box X-4,Y,2,2,2;box X+4,Y,2,2,2
 380 if Z>1box X-4,Y+4,2,2,2;box X+4,Y-4,2,2,2
 385 if Z>3box X-4,Y-4,2,2,2;box X+4,Y+4,2,2,2
 390 return 
 400 C=1
 405 I=C;CX=-20;if C>6CX=29;I=C-6
 415 CY=42-8mul I;print "right ",;CX=CX-6
 416 if JY(B)goto 416
 420 if TR(B)goto 450
 430 I=JY(B);if I=0goto 420
 435 TV=32;C=C-I;if C<1C=1
 440 if C>13C=13
 445 goto 405
 450 if @(H+C)=-1TV=32;return 
 455 goto 420
 500 S=0;V=650;W=645;if C>6goto 525
 505 for D=0to 4;if @(D)=C S=S+C
 510 next D;goto V
 525 for D=0to 4;S=@(D)+S;next D;for D=0to 4;for E=0to 4;if @(D)<@(E)F=@(D);@(D)=@(E);@(E)=F
 540 next E;next D
 545 E=1;F=1;G=1;I=1;J=1;if C=13goto V
 550 for D=1to 4;if @(D)=@(D-1)G=G+1;goto 568
 560 gosub 625;if @(D)-1=@(D-G)E=E+1;goto 568
 565 gosub 640
 568 next D
 570 if C<11gosub 625;goto 585
 575 gosub 640;if F<C-7goto W
 580 S=10mul C-80;goto V
 585 if C<9if I<C-4goto W
 590 if C=9S=25;if I+J<5goto W
 595 if C=10S=50;if I<5goto W
 600 goto V
 625 if G>I J=I;I=G;goto 635
 630 if G>J J=G
 635 G=1;return 
 640 if E>F F=E
 642 E=1;return 
 645 S=0
 650 @(H+C)=S;gosub 680;return 
 680 CX=6;I=C;if C>6I=C-6;CX=55
 690 CY=42-Imul 8;if S<0print "  ";return 
 695 print #2,S,;return 
 700 NT=0;for C=1to 13;S=@(H+C);gosub 680;next C;CX=-2;CY=-26;print "PLAYER",#2,B;return 
 800 clear ;for B=1to A;C=0;D=0;E=0;H=13mul B-9;for F=1to 13;G=@(H+F);if F<7C=C+G
 820 if F>6E=E+G
 825 next F;if C>62D=35
 830 print ;print "#",#2,B,":",#4,C," +",D," +",E," =",C+D+E;next B;return 
 900 CX=-42;CY=0;input "# OF PLAYERS"A;clear ;for D=0to 13mul A+4;@(D)=-1;next D;CY=34;for D=1to 6;CX=-9;print #1,D,"S";next D;C=965
 930 CY=34;gosub C;print "3K";gosub C;print "4K";gosub C;print "FH";gosub C;print "YZ";gosub C;print "SS";gosub C;print "LS";gosub C;print "CH";return 
 965 CX=38;return 
>:return 
